800
Is there a possibility to expand / collapse all groups (or group by group) at runtime with a method (equivalent to pressing the + or - button in the group header)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to OLESortAscending
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
	Send ComBeginUpdate
	Send ComEnsureVisibleColumn 0
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComExpandItem of hoItems (ComFirstVisibleItem(hoItems)) to False
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
799
Is there any public method to export the selected data

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "C2" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "1 index `A-Z`"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "C3" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "100 index ``"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Set ComSelectItem of hoItems (ComAddItem(hoItems,"Item 2")) to True
		Get ComAddItem of hoItems "Item 3" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
	Showln "Export CSV Selected Items Only:"
	Showln (ComExport(Self,"","sel"))
End_Procedure
798
How do I enable the scrollbar-extension, as thumb to be shown outside of the control's client area

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComScrollBars to OLEexDisableBoth
	Set ComScrollPartVisible OLEexVScroll OLEexExtentThumbPart to True
	Set ComScrollPartVisible OLEexHScroll OLEexExtentThumbPart to True
	Set ComScrollPartVisible |CI$2 OLEexExtentThumbPart to True
	Set ComScrollWidth to 4
	Set ComBackground OLEexVSBack to (RGB(240,240,240))
	Set ComBackground OLEexVSThumb to (RGB(128,128,128))
	Set ComScrollHeight to 4
	Set ComBackground OLEexHSBack to (ComBackground(Self,OLEexVSBack))
	Set ComBackground OLEexHSThumb to (ComBackground(Self,OLEexVSThumb))
	Set ComBackground OLEexScrollSizeGrip to (ComBackground(Self,OLEexVSBack))
	Send ComEndUpdate
End_Procedure
797
I need to format a Column with Currency Format, but we use we are using Dhirams (AED)for the Amount. How to do this

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComMarkSearchColumn to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Name" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Currency" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortType of hoColumn to OLESortNumeric
			Set ComAllowSizing of hoColumn to False
			Set ComWidth of hoColumn to 64
			Set ComFormatColumn of hoColumn to "currency(value)"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Format" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComSortType of hoColumn1 to OLESortNumeric
			Set ComAllowSizing of hoColumn1 to False
			Set ComWidth of hoColumn1 to 64
			Set ComFormatColumn of hoColumn1 to "`AED ` + (value format ``)"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Value 1" to h
		Set ComCellValue of hoItems h 1 to 10
		Set ComCellValue of hoItems h 2 to 10
		Get ComAddItem of hoItems "Value 2" to h
		Set ComCellValue of hoItems h 1 to 20
		Set ComCellValue of hoItems h 2 to 20
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
796
How can I have a case-insensitive filter (exFilterDoCaseSensitive flag is not set)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComMarkSearchColumn to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Car" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterType of hoColumn to OLEexFilter
			Set ComFilter of hoColumn to "MAZDA"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Equipment" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComDisplayFilterPattern of hoColumn1 to False
			Set ComCustomFilter of hoColumn1 to "Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*"
			Set ComFilterType of hoColumn1 to OLEexPattern
			Set ComFilter of hoColumn1 to "AIR BAG"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Mazda")) 1 to "Air Bag"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Toyota")) 1 to "Air Bag,Air condition"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Ford")) 1 to "Air condition"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Nissan")) 1 to "Air Bag,ABS,ESP"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Mazda")) 1 to "Air Bag, ABS,ESP"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Mazda")) 1 to "ABS,ESP"
	Send Destroy to hoItems
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
795
How can I have a case-sensitive filter

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComMarkSearchColumn to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Car" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComFilterType of hoColumn to (OLEexFilterDoCaseSensitive + OLEexFilter)
			Set ComFilter of hoColumn to "Mazda"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Equipment" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComDisplayFilterPattern of hoColumn1 to False
			Set ComCustomFilter of hoColumn1 to "Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*"
			Set ComFilterType of hoColumn1 to (OLEexFilterDoCaseSensitive + OLEexPattern)
			Set ComFilter of hoColumn1 to "Air Bag"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Mazda")) 1 to "Air Bag"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Toyota")) 1 to "Air Bag,Air condition"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Ford")) 1 to "Air condition"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Nissan")) 1 to "Air Bag,ABS,ESP"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Mazda")) 1 to "Air Bag, ABS,ESP"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Mazda")) 1 to "ABS,ESP"
	Send Destroy to hoItems
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
794
How can I exclude an item from aggregate/total computation

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComLockedItemCount of hoItems OLEexTop to 1
		Variant h
		Get ComLockedItem of hoItems OLEexTop 0 to h
		Set ComCellValue of hoItems h 0 to "sum(all,rec,%0)"
		Set ComCellValueFormat of hoItems h 0 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems h 0 to "`Sum: ` + (value format ``) "
		Get ComAddItem of hoItems 10 to Nothing
		Get ComAddItem of hoItems 20 to h
		Set ComSortableItem of hoItems h to False
		Set ComFormatCell of hoItems h 0 to "value + ` <fgcolor=808080> this item is excluded from aggregate computations</fgcolor>`"
		Get ComAddItem of hoItems 30 to Nothing
	Send Destroy to hoItems
End_Procedure
793
Is is possible to change the default group header to display sum rather than count

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHasLines to OLEexNoLine
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSingleSort to False
	Set ComSortBarVisible to True
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 6 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAllowGroupBy of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 1 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComGroupByFormatCell of hoColumn1 to "'<caption> (sum: <b>' + value + '</b>, of Freight)'"
			Set ComGroupByTotalField of hoColumn1 to "sum(current,rec,%6)"
			Set ComSortOrder of hoColumn1 to True
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Send ComEndUpdate
End_Procedure
792
How do I get the caption of the group during the AddGroupItem event

// Occurs after a new Group Item has been inserted to Items collection.
Procedure OnComAddGroupItem HITEM   llItem
	Forward Send OnComAddGroupItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Showln "Caption:" (ComCellCaption(hoItems,llItem,(ComGroupItem(hoItems,llItem))))
		Showln "Value:" (ComCellValue(hoItems,llItem,(ComGroupItem(hoItems,llItem))))
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHasLines to OLEexNoLine
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSingleSort to False
	Set ComSortBarVisible to True
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComGroupByFormatCell of hoColumn to "'<b><caption></b> (' + value + ') group'"
			Set ComSortOrder of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
791
Is it possible, to add more aggregate functions to grouping header

// Occurs after a new Group Item has been inserted to Items collection.
Procedure OnComAddGroupItem HITEM   llItem
	Forward Send OnComAddGroupItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComFormatCell of hoItems llItem (ComGroupItem(hoItems,llItem)) to "value + ` Min: <b>` + %13 + `</b> Max: <b>` + %14 + `</b> Sum: <b>` + %15 + `</b>, of Freight column`"
		Set ComCellValue of hoItems llItem "Min" to "min(current,all,dbl(%6))"
		Set ComCellValueFormat of hoItems llItem "Min" to OLEexTotalField
		Set ComCellValue of hoItems llItem "Max" to "max(current,all,dbl(%6))"
		Set ComCellValueFormat of hoItems llItem "Max" to OLEexTotalField
		Set ComCellValue of hoItems llItem "Sum" to "sum(current,all,dbl(%6))"
		Set ComCellValueFormat of hoItems llItem "Sum" to OLEexTotalField
	Send Destroy to hoItems
End_Procedure

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHasLines to OLEexNoLine
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSingleSort to False
	Set ComSortBarVisible to True
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Min" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns1 "Max" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComVisible of hoColumn2 to False
		Send Destroy to hoColumn2
		Variant voColumn3
		Get ComAdd of hoColumns1 "Sum" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComVisible of hoColumn3 to False
		Send Destroy to hoColumn3
	Send Destroy to hoColumns1
	Send ComEndUpdate
End_Procedure
790
Is it possible to display more aggregate functions to a single cell (method 2)

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSortOnClick to OLEexNoSort
	Set ComLinesAtRoot to OLEexGroupLinesOutside
	Set ComIndent to 13
	Set ComHeaderVisible to False
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Items" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Quantity" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Sum" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Min" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComVisible of hoColumn2 to False
		Send Destroy to hoColumn2
		Variant voColumn3
		Get ComAdd of hoColumns "Max" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComVisible of hoColumn3 to False
		Send Destroy to hoColumn3
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Items" to h
		Set ComCellMerge of hoItems h 0 to 1
		Set ComFormatCell of hoItems h 0 to "`Items, <b>sum(` + %2 + `), min(` + %3 + `), max(` + %4 + `)</b>`"
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
		Set ComCellValue of hoItems h 2 to "sum(current,dir,dbl(%1))"
		Set ComCellValueFormat of hoItems h 2 to OLEexTotalField
		Set ComCellValue of hoItems h 3 to "min(current,dir,dbl(%1))"
		Set ComCellValueFormat of hoItems h 3 to OLEexTotalField
		Set ComCellValue of hoItems h 4 to "max(current,dir,dbl(%1))"
		Set ComCellValueFormat of hoItems h 4 to OLEexTotalField
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h,"Item 1")) 1 to 10
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h,"Item 2")) 1 to 20
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h,"Item 3")) 1 to 30
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
789
How can I use the current in the aggregate/total field

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComSortOnClick to OLEexNoSort
	Set ComLinesAtRoot to OLEexGroupLinesOutside
	Set ComIndent to 13
	Set ComHeaderVisible to False
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Items" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Quantity" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Items" to h
		Set ComCellValue of hoItems h 1 to "sum(current,dir,dbl(%1))"
		Set ComCellValueFormat of hoItems h 1 to OLEexTotalField
		Set ComFormatCell of hoItems h 1 to "`Total: `+ value"
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h,"Item 1")) 1 to 10
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h,"Item 2")) 1 to 20
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h,"Item 3")) 1 to 30
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
788
How can I prevent a specified item to be not included in the aggregate/total function

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComDrawGridLines to OLEexAllLines
	Set ComSortOnClick to OLEexNoSort
	Set ComLinesAtRoot to OLEexGroupLinesOutside
	Set ComHasLines to OLEexThinLine
	Set ComHeaderVisible to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Numbers" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Numbers" to h
		Set ComCellEditorVisible of hoItems h 0 to False
		Set ComItemBold of hoItems (ComInsertItem(hoItems,h,10)) to True
		Set ComItemBold of hoItems (ComInsertItem(hoItems,h,20)) to True
		Set ComItemBold of hoItems (ComInsertItem(hoItems,h,30)) to True
		Variant h1
		Get ComInsertItem of hoItems h "not included" to h1
		Set ComCellEditorVisible of hoItems h1 0 to False
		Set ComCellValueFormat of hoItems h1 0 to OLEexHTML
		Set ComCellHAlignment of hoItems h1 0 to OLERightAlignment
		Set ComSortableItem of hoItems h1 to False
		Get ComInsertItem of hoItems 0 "sum(all,rec,dbl(%0))" to h1
		Set ComItemBold of hoItems h1 to True
		Set ComSelectableItem of hoItems h1 to False
		Set ComCellValueFormat of hoItems h1 0 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems h1 0 to "`Sum: ` + value"
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
787
Is is possible to specify which items/cells/fields to be included by the aggregate/total function I am using

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComSortableItem of hoItems llItem to False
	Send Destroy to hoItems
End_Procedure

// Fired after cell's state has been changed.
Procedure OnComCellStateChanged HITEM   llItem Integer   llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComSortableItem of hoItems1 llItem to (ComCellState(hoItems1,llItem,llColIndex))
	Send Destroy to hoItems1
	Send ComRefresh
End_Procedure

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComTreeColumnIndex to -1
	Set ComFullRowSelect to OLEexColumnSel
	Set ComDrawGridLines to OLEexAllLines
	Set ComSortOnClick to OLEexNoSort
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Check Numbers" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComCellHasCheckBox of hoItems2 (ComAddItem(hoItems2,10)) 0 to True
		Variant h
		Get ComAddItem of hoItems2 20 to h
		Set ComCellHasCheckBox of hoItems2 h 0 to True
		Set ComCellState of hoItems2 h 0 to 1
		Set ComCellHasCheckBox of hoItems2 (ComAddItem(hoItems2,30)) 0 to True
		Get ComAddItem of hoItems2 "sum(all,rec,dbl(%0))" to h
		Set ComSelectableItem of hoItems2 h to False
		Set ComCellValueFormat of hoItems2 h 0 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems2 h 0 to "`sum on checked items : ` + value"
	Send Destroy to hoItems2
	Send ComEndUpdate
End_Procedure
786
Can I display multiple total/aggregate functions such as sum, min or max, into a single cell (method 1)

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComTreeColumnIndex to -1
	Set ComFullRowSelect to OLEexColumnSel
	Set ComDrawGridLines to OLEexAllLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Numbers" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 10 to Nothing
		Get ComAddItem of hoItems 20 to Nothing
		Get ComAddItem of hoItems 30 to Nothing
		Variant h
		Get ComAddItem of hoItems "sum(all,rec,dbl(%0))" to h
		Set ComSelectableItem of hoItems h to False
		Set ComCellValueFormat of hoItems h 0 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems h 0 to "`sum: ` + value"
		Get ComSplitCell of hoItems h 0 to h
		Set ComCellValue of hoItems 0 h to "min(all,rec,dbl(%0))"
		Set ComCellValueFormat of hoItems 0 h to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems 0 h to "`min: ` + value"
		Get ComSplitCell of hoItems 0 h to h
		Set ComCellValue of hoItems 0 h to "max(all,rec,dbl(%0))"
		Set ComCellValueFormat of hoItems 0 h to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems 0 h to "`max: ` + value"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
785
How can I use the index of the item in total/aggregate functions, rather than root or parent

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComTreeColumnIndex to -1
	Set ComFullRowSelect to OLEexColumnSel
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Numbers" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Idx" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "0 index ``"
			Set ComWidth of hoColumn1 to 24
			Set ComAllowSizing of hoColumn1 to False
			Set ComEnabled of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "3 Numbers" to h
		Set ComItemHeight of hoItems h to 0
		Set ComSelectableItem of hoItems h to False
		Get ComInsertItem of hoItems h 10 to Nothing
		Get ComInsertItem of hoItems h 20 to Nothing
		Get ComInsertItem of hoItems h 30 to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "sum(0,dir,dbl(%0))" to h
		Set ComCellValueFormat of hoItems h 0 to (OLEexTotalField + OLEexHTML)
		Set ComSelectableItem of hoItems h to False
		Set ComFormatCell of hoItems h 0 to "`sum of first three numbers is ` + value"
		Get ComAddItem of hoItems "3 Numbers" to h
		Set ComItemHeight of hoItems h to 0
		Set ComSelectableItem of hoItems h to False
		Get ComInsertItem of hoItems h 15 to Nothing
		Get ComInsertItem of hoItems h 35 to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "count(5,dir,dbl(%0))" to h
		Set ComCellValueFormat of hoItems h 0 to (OLEexTotalField + OLEexHTML)
		Set ComSelectableItem of hoItems h to False
		Set ComFormatCell of hoItems h 0 to "`count of next two numbers is ` + value"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
784
How can I have a better view of what current, parent, all, dir or rec means in total/aggregate fields

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexGroupLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Numbers" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "" to h
		Set ComCellValue of hoItems h 0 to "sum(current,dir,dbl(%0))"
		Set ComCellValueFormat of hoItems h 0 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems h 0 to "'sum of <fgcolor=FF0000><b>Direct</b> children: '+value + `</fgcolor> using <a>sum(current,dir,dbl(%0))`"
		Set ComItemForeColor of hoItems (ComInsertItem(hoItems,h,10)) to (RGB(255,0,0))
		Set ComItemForeColor of hoItems (ComInsertItem(hoItems,h,20)) to (RGB(255,0,0))
		Set ComItemForeColor of hoItems (ComInsertItem(hoItems,h,30)) to (RGB(255,0,0))
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComAddItem of hoItems1 "" to h
		Set ComCellValue of hoItems1 h 0 to "sum(current,rec,dbl(%0))"
		Set ComCellValueFormat of hoItems1 h 0 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems1 h 0 to "'sum of <fgcolor=00FF00><b>Leaf</b> chidlren: '+value +`</fgcolor> using <a>sum(current,rec,dbl(%0))`"
		Set ComItemForeColor of hoItems1 (ComInsertItem(hoItems1,(ComInsertItem(hoItems1,(ComInsertItem(hoItems1,(ComInsertItem(hoItems1,h,100)),10)),10)),1)) to (RGB(0,255,0))
		Set ComItemForeColor of hoItems1 (ComInsertItem(hoItems1,(ComInsertItem(hoItems1,h,200)),2)) to (RGB(0,255,0))
		Set ComItemForeColor of hoItems1 (ComInsertItem(hoItems1,(ComInsertItem(hoItems1,h,300)),3)) to (RGB(0,255,0))
		Variant h1
		Get ComInsertItem of hoItems1 h "sum(parent,direct,%0)" to h1
		Set ComCellValueFormat of hoItems1 h1 0 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems1 h1 0 to "'sum of <b>Parent Direct</b> children: '+value +`</fgcolor> using <a>sum(parent,direct,%0)`"
		Get ComInsertItem of hoItems1 h "sum(parent,rec,%0)" to h1
		Set ComCellValueFormat of hoItems1 h1 0 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems1 h1 0 to "'sum of <fgcolor=00FF00><b>Parent Leaf</b> children: '+value +`</fgcolor> using <a>sum(parent,rec,%0)`"
		Set ComExpandItem of hoItems1 0 to True
	Send Destroy to hoItems1
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Get ComAddItem of hoItems2 "" to h
		Set ComCellValue of hoItems2 h 0 to "sum(all,rec,dbl(%0))"
		Set ComCellValueFormat of hoItems2 h 0 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems2 h 0 to "'sum of <fgcolor=FF00FF><b>All (leaf children)</b>: '+value  +`</fgcolor> using <a>sum(all,rec,dbl(%0))`"
	Send Destroy to hoItems2
	Variant voItems3
	Get ComItems to voItems3
	Handle hoItems3
	Get Create (RefClass(cComItems)) to hoItems3
	Set pvComObject of hoItems3 to voItems3
		Get ComAddItem of hoItems3 "" to h
		Set ComCellValue of hoItems3 h 0 to "sum(all,all,dbl(%0))"
		Set ComCellValueFormat of hoItems3 h 0 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems3 h 0 to "'sum of <fgcolor=FF00FF><b>All (children)</b>: '+value  +`</fgcolor> using <a>sum(all,all,dbl(%0))`"
	Send Destroy to hoItems3
	Send ComEndUpdate
End_Procedure
783
Do you have any Fit-To-Page options when printing the control

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Set ComContinueColumnScroll to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Handle hoPrint
	Get Create (RefClass(cComPrint)) to hoPrint // Import the 'ExPrint 1.0 Control Library' library
		Set ComOptions of hoPrint to "FitToPage = On"
		Set ComPrintExt of hoPrint to (pvComObject(Self))
		Send ComPreview of hoPrint
	Send Destroy to hoPrint
End_Procedure
782
How do I hide the selection

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComMarkSearchColumn to False
	Set ComSelForeColor to (ComForeColor(Self))
	Set ComSelBackColor to (ComBackColor(Self))
	Set ComShowFocusRect to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Format" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=0000FF>+'+(value format '2|.|3|,' ): '0.00') )"
			Set ComDef of hoColumn OLEexCellValueFormat to 1
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 10 to Nothing
		Get ComAddItem of hoItems -8 to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
781
How do I access the cells, or how do I get the values in the columns

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
		Get ComAdd of hoColumns "C2" to Nothing
		Get ComAdd of hoColumns "C3" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Item 1" to h
		Set ComCellValue of hoItems h 1 to "SubItem 1.1"
		Set ComCellValue of hoItems h 2 to "SubItem 1.2"
		Showln (ComCellValue(hoItems,h,2))
	Send Destroy to hoItems
End_Procedure
780
I am using the FormatColumn/FormatCell to format my columns. Is it possible to ignore the SelForeColor, so the foreground color for selected items does not override my settings

// Fired after a new item has been selected.
Procedure OnComSelectionChanged 
	Forward Send OnComSelectionChanged 
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Send ComClearItemBackColor of hoItems 0
		Set ComItemBackColor of hoItems (ComSelectedItem(hoItems,0)) to (RGB(128,255,255))
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComMarkSearchColumn to False
	Set ComSelForeColor to (ComForeColor(Self))
	Set ComSelBackColor to (ComBackColor(Self))
	Set ComShowFocusRect to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Format" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=0000FF>+'+(value format '2|.|3|,' ): '0.00') )"
			Set ComDef of hoColumn OLEexCellValueFormat to 1
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComAddItem of hoItems1 10 to Nothing
		Get ComAddItem of hoItems1 -8 to Nothing
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
779
How can I get the number of columns being shown in the control's SortBar part

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSingleSort to False
	Set ComSortBarVisible to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 2 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComSortOrder of hoColumn1 to True
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant v
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Get ComSortBarColumnsCount of hoColumns2 to v
	Send Destroy to hoColumns2
	Showln v
	Send ComEndUpdate
End_Procedure
778
How can I add a header and footer for grouping items

// Occurs after a new Group Item has been inserted to Items collection.
Procedure OnComAddGroupItem HITEM   llItem
	Forward Send OnComAddGroupItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComInsertItem of hoItems llItem "" to h
		Set ComSelectableItem of hoItems h to False
		Set ComCellValue of hoItems h 6 to "min(parent,rec,dbl(%6))"
		Set ComCellValueFormat of hoItems h 6 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems h 6 to "`<font ;7><b>Min</b>: ` + value"
		Set ComItemPosition of hoItems h to 0
		Get ComInsertItem of hoItems llItem "" to h
		Set ComSelectableItem of hoItems h to False
		Set ComCellValue of hoItems h 6 to "max(parent,rec,dbl(%6))"
		Set ComCellValueFormat of hoItems h 6 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems h 6 to "`<font ;7><b>Max</b>: ` + value"
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHasLines to OLEexNoLine
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSingleSort to False
	Set ComSortBarVisible to True
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
777
How can I add a footer for grouping items

// Occurs after a new Group Item has been inserted to Items collection.
Procedure OnComAddGroupItem HITEM   llItem
	Forward Send OnComAddGroupItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComInsertItem of hoItems llItem "" to h
		Set ComSelectableItem of hoItems h to False
		Set ComCellValue of hoItems h 6 to "sum(parent,rec,dbl(%6))"
		Set ComCellValueFormat of hoItems h 6 to (OLEexTotalField + OLEexHTML)
		Set ComFormatCell of hoItems h 6 to "`<font ;7><b>Sum</b>: ` + value"
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHasLines to OLEexNoLine
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSingleSort to False
	Set ComSortBarVisible to True
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
776
How can I handle the event for the inside controls

// Fired when an ActiveX control hosted by an item has fired an event.
Procedure OnComItemOleEvent HITEM   llItem Variant   llEv
	Forward Send OnComItemOleEvent llItem llEv
	Showln llEv
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComScrollBySingleLine to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root" to h
		Set ComExpandItem of hoItems h to True
		Get ComInsertControlItem of hoItems h "Exontrol.Grid" Nothing to h
		Set ComItemHeight of hoItems h to 256
		Variant voGrid
		Get ComItemObject of hoItems h to voGrid
		Handle hoGrid
		Get Create (RefClass(cComGrid)) to hoGrid
		Set pvComObject of hoGrid to voGrid
			Set ComLinesAtRoot of hoGrid to OLEexLinesAtRoot
			Set ComScrollBySingleLine of hoGrid to True
			Variant voColumns1
			Get ComColumns of hoGrid to voColumns1
			Handle hoColumns1
			Get Create (RefClass(cComColumns)) to hoColumns1
			Set pvComObject of hoColumns1 to voColumns1
				Get ComAdd of hoColumns1 "C1" to Nothing
			Send Destroy to hoColumns1
			Variant voColumns2
			Get ComColumns of hoGrid to voColumns2
			Handle hoColumns2
			Get Create (RefClass(cComColumns)) to hoColumns2
			Set pvComObject of hoColumns2 to voColumns2
				Get ComAdd of hoColumns2 "C2" to Nothing
			Send Destroy to hoColumns2
			Variant voItems1
			Get ComItems of hoGrid to voItems1
			Handle hoItems1
			Get Create (RefClass(cComItems)) to hoItems1
			Set pvComObject of hoItems1 to voItems1
				Set ComCellValue of hoItems1 (ComAddItem(hoItems1,1)) 1 to 2
			Send Destroy to hoItems1
			Variant v
			Variant voItems2
			Get ComItems of hoGrid to voItems2
			Handle hoItems2
			Get Create (RefClass(cComItems)) to hoItems2
			Set pvComObject of hoItems2 to voItems2
				Get ComAddItem of hoItems2 3 to v
			Send Destroy to hoItems2
			Move v to h
			Variant voItems3
			Get ComItems of hoGrid to voItems3
			Handle hoItems3
			Get Create (RefClass(cComItems)) to hoItems3
			Set pvComObject of hoItems3 to voItems3
				Set ComCellValue of hoItems3 h 1 to 4
			Send Destroy to hoItems3
			Variant voItems4
			Get ComItems of hoGrid to voItems4
			Handle hoItems4
			Get Create (RefClass(cComItems)) to hoItems4
			Set pvComObject of hoItems4 to voItems4
				Set ComExpandItem of hoItems4 h to True
				Get ComInsertControlItem of hoItems4 h "Exontrol.Grid" Nothing to h
				Variant voGrid1
				Get ComItemObject of hoItems4 h to voGrid1
				Handle hoGrid1
				Get Create (RefClass(cComGrid)) to hoGrid1
				Set pvComObject of hoGrid1 to voGrid1
					Set ComLinesAtRoot of hoGrid1 to OLEexLinesAtRoot
					Variant voColumns3
					Get ComColumns of hoGrid1 to voColumns3
					Handle hoColumns3
					Get Create (RefClass(cComColumns)) to hoColumns3
					Set pvComObject of hoColumns3 to voColumns3
						Get ComAdd of hoColumns3 "Inside-Inside" to Nothing
					Send Destroy to hoColumns3
					Variant voItems5
					Get ComItems of hoGrid1 to voItems5
					Handle hoItems5
					Get Create (RefClass(cComItems)) to hoItems5
					Set pvComObject of hoItems5 to voItems5
						Get ComAddItem of hoItems5 "item" to h
						Get ComInsertItem of hoItems5 h "child 1" to Nothing
						Get ComInsertItem of hoItems5 h "child 2" to Nothing
						Get ComInsertItem of hoItems5 h "child 3" to Nothing
					Send Destroy to hoItems5
				Send Destroy to hoGrid1
			Send Destroy to hoItems4
		Send Destroy to hoGrid
	Send Destroy to hoItems
End_Procedure
775
How can I specify the position of the item manually (Method 2)

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Child 3" to Nothing
		Get ComAddItem of hoItems "Child 2" to Nothing
		Get ComAddItem of hoItems "Child 1" to Nothing
		Set ComItemPosition of hoItems (ComItemByIndex(hoItems,0)) to 2
		Set ComItemPosition of hoItems (ComItemByIndex(hoItems,1)) to 1
		Set ComItemPosition of hoItems (ComItemByIndex(hoItems,2)) to 0
	Send Destroy to hoItems
End_Procedure
774
How can I specify the position of the item manually (Method 1)

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h3
		Get ComAddItem of hoItems "Child 3" to h3
		Get ComAddItem of hoItems "Child 2" to h2
		Get ComAddItem of hoItems "Child 1" to h1
		Set ComItemPosition of hoItems h3 to 2
		Set ComItemPosition of hoItems h2 to 1
		Set ComItemPosition of hoItems h1 to 0
	Send Destroy to hoItems
End_Procedure
773
Is it possible to open second inside grid in inside-grid

Procedure OnCreate
	Forward Send OnCreate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComScrollBySingleLine to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root" to h
		Set ComExpandItem of hoItems h to True
		Get ComInsertControlItem of hoItems h "Exontrol.Grid" Nothing to h
		Set ComItemHeight of hoItems h to 256
		Variant voGrid
		Get ComItemObject of hoItems h to voGrid
		Handle hoGrid
		Get Create (RefClass(cComGrid)) to hoGrid
		Set pvComObject of hoGrid to voGrid
			Set ComLinesAtRoot of hoGrid to OLEexLinesAtRoot
			Set ComScrollBySingleLine of hoGrid to True
			Variant voColumns1
			Get ComColumns of hoGrid to voColumns1
			Handle hoColumns1
			Get Create (RefClass(cComColumns)) to hoColumns1
			Set pvComObject of hoColumns1 to voColumns1
				Get ComAdd of hoColumns1 "C1" to Nothing
			Send Destroy to hoColumns1
			Variant voColumns2
			Get ComColumns of hoGrid to voColumns2
			Handle hoColumns2
			Get Create (RefClass(cComColumns)) to hoColumns2
			Set pvComObject of hoColumns2 to voColumns2
				Get ComAdd of hoColumns2 "C2" to Nothing
			Send Destroy to hoColumns2
			Variant voItems1
			Get ComItems of hoGrid to voItems1
			Handle hoItems1
			Get Create (RefClass(cComItems)) to hoItems1
			Set pvComObject of hoItems1 to voItems1
				Set ComCellValue of hoItems1 (ComAddItem(hoItems1,1)) 1 to 2
			Send Destroy to hoItems1
			Variant v
			Variant voItems2
			Get ComItems of hoGrid to voItems2
			Handle hoItems2
			Get Create (RefClass(cComItems)) to hoItems2
			Set pvComObject of hoItems2 to voItems2
				Get ComAddItem of hoItems2 3 to v
			Send Destroy to hoItems2
			Move v to h
			Variant voItems3
			Get ComItems of hoGrid to voItems3
			Handle hoItems3
			Get Create (RefClass(cComItems)) to hoItems3
			Set pvComObject of hoItems3 to voItems3
				Set ComCellValue of hoItems3 h 1 to 4
			Send Destroy to hoItems3
			Variant voItems4
			Get ComItems of hoGrid to voItems4
			Handle hoItems4
			Get Create (RefClass(cComItems)) to hoItems4
			Set pvComObject of hoItems4 to voItems4
				Set ComExpandItem of hoItems4 h to True
				Get ComInsertControlItem of hoItems4 h "Exontrol.Grid" Nothing to h
				Variant voGrid1
				Get ComItemObject of hoItems4 h to voGrid1
				Handle hoGrid1
				Get Create (RefClass(cComGrid)) to hoGrid1
				Set pvComObject of hoGrid1 to voGrid1
					Variant voColumns3
					Get ComColumns of hoGrid1 to voColumns3
					Handle hoColumns3
					Get Create (RefClass(cComColumns)) to hoColumns3
					Set pvComObject of hoColumns3 to voColumns3
						Get ComAdd of hoColumns3 "Inside-Inside" to Nothing
					Send Destroy to hoColumns3
					Variant voItems5
					Get ComItems of hoGrid1 to voItems5
					Handle hoItems5
					Get Create (RefClass(cComItems)) to hoItems5
					Set pvComObject of hoItems5 to voItems5
						Get ComAddItem of hoItems5 "item" to Nothing
					Send Destroy to hoItems5
				Send Destroy to hoGrid1
			Send Destroy to hoItems4
		Send Destroy to hoGrid
	Send Destroy to hoItems
End_Procedure
772
Computed field concatating strings values to calculated values. Is there something we can change this

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "A" to Nothing
		Get ComAdd of hoColumns "B" to Nothing
		Variant voColumn
		Get ComAdd of hoColumns "Sum" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComComputedField of hoColumn to "dbl(%0) + dbl(%1)"
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Concaternation" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComComputedField of hoColumn1 to "str(%0) + str(%1)"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,1)) 1 to 2
		Set ComCellValue of hoItems (ComAddItem(hoItems,21)) 1 to 22
	Send Destroy to hoItems
End_Procedure
771
Is it possible the Items.FormatCell or Column.FormatColumn to use values from other columns

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "A" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLESpinType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "B" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "currency(%0)"
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "C" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComFormatColumn of hoColumn2 to "%1 format ''"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 1 to Nothing
		Get ComAddItem of hoItems 2 to Nothing
		Get ComAddItem of hoItems 3 to Nothing
	Send Destroy to hoItems
End_Procedure
770
Is it possible to do un-grouping the items

// Occurs when the user presses and then releases the left mouse button over the grid control.
Procedure OnComClick 
	Forward Send OnComClick 
	Send ComUngroup
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarHeight to 24
	Set ComHeaderHeight to 24
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Set ComReadOnly to OLEexReadOnly
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAlignment of hoColumn to OLECenterAlignment
			Set ComDef of hoColumn OLEexCellBackColor to 15790320
			Set ComSortOrder of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
769
How can I change the visual aspect of the links in the sort bar

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarHeight to 24
	Set ComHeaderHeight to 24
	Set ComBackColorSortBar to (RGB(240,240,240))
	Set ComBackColorSortBarCaption to (ComBackColor(Self))
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAEGg4BdsIQAAYAQGKIYBkAKBQAGaAoDDgNw0QwAAxjMK0EwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBSFDcOwHGyQYDkCQpAAWL4tCyMc7QHKAWhrEAbJjgQYJUh+TQAAZCIJRXRQAL/K6rKwnSCQIgkUBpGKdBynEYoYxAfyESCJWyIahWAwoQjUMB1HLQAAxC5kKbkIxyBABFBdVjVeBYG78Bz+ABjEovbAMEwPBqAMwmIAZDheA4FR4AGhTXKcbxrFaXZSzKckPRoADSZq1Sg5LjDJI2ABqU6ABqNLZtJKsZS4apABrWeZ3Q7QMLdFTwA4PH6EZhxXAYbTVeaPZjQIBAgI" to Nothing
	Send Destroy to hoAppearance
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAlignment of hoColumn to OLECenterAlignment
			Set ComDef of hoColumn OLEexCellBackColor to 15790320
			Set ComSortOrder of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 5 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAlignment of hoColumn1 to OLECenterAlignment
			Set ComDef of hoColumn1 OLEexCellBackColor to 16119285
			Set ComSortOrder of hoColumn1 to True
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Set ComBackground OLEexSortBarLinkColor to |CI$1000000
	Send ComEndUpdate
End_Procedure
768
Is it possible to display no +/- button for grouped items

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAlignment of hoColumn to OLECenterAlignment
			Set ComDef of hoColumn OLEexCellBackColor to 15790320
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
767
How can I remove the extra information that grouped items display

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexGroupLinesOutside
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 6 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAllowGroupBy of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 1 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComGroupByTotalField of hoColumn1 to ""
			Set ComGroupByFormatCell of hoColumn1 to ""
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Send ComEndUpdate
End_Procedure
766
How can I change the label, caption or the formula of the grouped items

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComItemDividerLineAlignment of hoItems llItem to OLEDividerBoth
	Send Destroy to hoItems
End_Procedure

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Send ComRefresh
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComScrollBySingleLine to True
	Set ComLinesAtRoot to OLEexGroupLinesOutside
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 6 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAllowGroupBy of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 1 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComGroupByTotalField of hoColumn1 to "sum(current,rec,%6)"
			Set ComGroupByFormatCell of hoColumn1 to "'<font ;11>' + <caption> + '</font> <fgcolor=808080>( Freight: ' + currency(value) + ')'"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Set ComDefaultItemHeight to 28
	Send ComEndUpdate
End_Procedure
765
How can I change the aspect of grouped items

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComItemDividerLine of hoItems llItem to OLEEmptyLine
		Variant l
		Get ComGroupItem of hoItems llItem to l
		Set ComCellSingleLine of hoItems llItem l to False
		Set ComCellBold of hoItems llItem l to True
		Set ComCellBackColor of hoItems llItem l to |CI$1000000
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComScrollBySingleLine to True
	Set ComLinesAtRoot to OLEexNoLinesAtRoot
	Set ComTreeColumnIndex to -1
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "gBFLBCJwBAEHhEJAEGg4BKoCg6AADACAxRDAMgBQKAAzQFAYcBuGiGAAGMZhWgmFgAQhFcZQSKUOQTDKMIziaQIRDEMw5SSNIxyAK0QBkAqNQCkKKwIgmNYDSBMYABBIMBwiGQaRJnegYRDUMJCQjRVITVLMNoXDKZIyqEAHfpWVJWSLHcIhDBJUjcOYyTiOQrzCK8dB0G6bIrGEZpYRAPwEYDIIjbQhqFYDChCNLwHScEAxC4kLhnKK6Vb9d6HYhiOJYXhmDrfR7IMhyLI8QafFqXZhmOZZXizPY9T7QNB0LQ8eZbJqnahqOpaOx2W5dV7YNh2LTWGzXNq3bhuOzLbrme59X7gOB3RZeE4XRrHchxKq8XxnG6dZ7oOTUXofFOK5WmudQTh2LpfHOO5em+doSh4LwfhOS5mnGIw9D6LxfjOW5unSIQ+D8L4flOa5yD2fg/D+L5fnOe54ByigGAKAJgEgBBrgGYIICYCoCmCSAcGOA5hAgRgSgSYQBGoFoFmGCBmBqBphGESgegeYgIgYIoHkSKIWCaCZigiJgqgqYhog4LoLmGSJGDKBZhEiVg2gMY4ImYCIBGOSJ1n6D5kAeZZ2hCZBHj4RoRl6J4eEqEpeAkNhOHaXYJEYUh0GUSRVkwchlgkZZChaZZGnWOoXmYBpOGKGJamaLhmhmWhJiYahnlmSY2G4ZZZEmRhyGMZxJlWCBhFCFgWHaHpYkmSh+GSJp6AWG4amgRoOGeIZahmEoKGyJgKDWOIXGkBwGFmJJcHkWoWHQJQqGWVoTmmRx+EuJ5eFkIoiHuJBKhWdIQGqB52D2KpgDiaougMIxqyODJrEgbgvi2YgYjKOoumKSpij4FIrFsBg0iyLBKj6RoOmqSwmimMpkCqGpOiibQJCaII0mmWxWFCJotgoXpahWaRLHaEY3mWag6mKIpuEmFoIjmaBbiYbIgi6RhaH+O5Onmcpyh2VYAAEASAg" to Nothing
	Send Destroy to hoAppearance
	Set ComDrawGridLines to OLEexHLines
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComGroupByFormatCell of hoColumn to "'EmployeeID: ' + <caption> + '<br><font ;7><fgcolor=808080>Count: ' + value"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
764
How can I remove or change the line it shows for grouped items

// Occurs after a new Item has been inserted to Items collection.
Procedure OnComAddItem HITEM   llItem
	Forward Send OnComAddItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComItemDividerLine of hoItems llItem to OLEEmptyLine
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Send ComEndUpdate
End_Procedure
763
Is it possible to determine whether an item is regular or a group by item
// Occurs when the user moves the mouse.
Procedure OnComMouseMove Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComMouseMove llButton llShift llX llY
	Variant h
	Get ComItemFromPoint -1 -1 c hit to h
	Variant v
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComGroupItem of hoItems h to v
	Send Destroy to hoItems
	Showln v
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Send ComEndUpdate
End_Procedure
762
How can I collapse all items when the user performs a grouping

// Occurs after a new Group Item has been inserted to Items collection.
Procedure OnComAddGroupItem HITEM   llItem
	Forward Send OnComAddGroupItem llItem
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComExpandItem of hoItems llItem to False
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Send ComEndUpdate
End_Procedure
761
Is it possible to select columns that user can drop to the sort bar, when using the Group By feature

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "<fgcolor=FF0000>Try to drag the EmployeeID column here."
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComAllowGroupBy of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
760
How can I enable the Group By support, with no sort bar

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSingleSort to False
	Set ComAllowGroupBy to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 1 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComEndUpdate
End_Procedure
759
Does your control support Group-By feature

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComSortBarVisible to True
	Set ComSortBarCaption to "Drag a <b>column</b> header here to group by that column."
	Set ComAllowGroupBy to True
	Send ComEndUpdate
End_Procedure
758
How can I restrict a field to number only (Method 3, Float)

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Numbers" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
				Set ComNumeric of hoEditor to OLEexFloat
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 12 to Nothing
	Send Destroy to hoItems
End_Procedure
757
How can I restrict a field to number only (Method 2, Integer only)

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Numbers" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
				Set ComNumeric of hoEditor to OLEexInteger
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 12 to Nothing
	Send Destroy to hoItems
End_Procedure
756
How can I restrict a field to number only (Method 1)

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Numbers" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEMaskType
				Set ComMask of hoEditor to "###.###"
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 12 to Nothing
	Send Destroy to hoItems
End_Procedure
755
Is it possible to include only leaf items ( items with no childs ) in the drop down list

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to (OLEexShowFocusItem + OLEexShowCheckBox + OLEexSortItemsAsc + OLEexLeafItems)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComInsertItem of hoItems h "Child 3" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
754
I have several columns, but noticed that the filter is using AND between columns, but I need OR clause for filtering. Is it possible

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Item" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilter of hoColumn to "Child 1"
			Set ComFilterType of hoColumn to OLEexFilter
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Date" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDisplayFilterButton of hoColumn1 to True
			Set ComDisplayFilterPattern of hoColumn1 to False
			Set ComDisplayFilterDate of hoColumn1 to True
			Set ComFilterList of hoColumn1 to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexNoItems)
			Set ComFilter of hoColumn1 to "12/28/2010"
			Set ComFilterType of hoColumn1 to OLEexDate
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Set ComFilterCriteria to "%0 or %1"
	Set ComDescription OLEexFilterBarOr to "<font ;18><fgcolor=FF0000>or</fgcolor></font>"
	Set ComDescription OLEexFilterBarAnd to "<font ;18><fgcolor=FF0000>and</fgcolor></font>"
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h,"Child 1")) 1 to "12/27/2010"
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h,"Child 2")) 1 to "12/28/2010"
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h,"Child 1")) 1 to "12/29/2010"
		Set ComCellValue of hoItems (ComInsertItem(hoItems,h,"Child 2")) 1 to "12/30/2010"
	Send Destroy to hoItems
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
753
Is it possible exclude the dates being selected in the drop down filter window

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Date" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortType of hoColumn to OLESortDate
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComDisplayFilterDate of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox + OLEexNoItems)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "12/27/2010" to Nothing
		Get ComAddItem of hoItems "12/28/2010" to Nothing
		Get ComAddItem of hoItems "12/29/2010" to Nothing
		Get ComAddItem of hoItems "12/30/2010" to Nothing
		Get ComAddItem of hoItems "12/31/2010" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
752
How can I display a calendar control inside the drop down filter window

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Date" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortType of hoColumn to OLESortDate
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComDisplayFilterDate of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowFocusItem + OLEexShowCheckBox + OLEexNoItems)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "12/27/2010" to Nothing
		Get ComAddItem of hoItems "12/28/2010" to Nothing
		Get ComAddItem of hoItems "12/29/2010" to Nothing
		Get ComAddItem of hoItems "12/30/2010" to Nothing
		Get ComAddItem of hoItems "12/31/2010" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
751
Is it possible to include the dates as checkb-boxes in the drop down filter window

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Dates" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortType of hoColumn to OLESortDate
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to True
			Set ComDisplayFilterDate of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowFocusItem + OLEexShowCheckBox)
			Set ComFilter of hoColumn to "to 12/27/2010"
			Set ComFilterType of hoColumn to OLEexDate
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "12/27/2010" to Nothing
		Get ComAddItem of hoItems "12/28/2010" to Nothing
		Get ComAddItem of hoItems "12/29/2010" to Nothing
		Get ComAddItem of hoItems "12/30/2010" to Nothing
		Get ComAddItem of hoItems "12/31/2010" to Nothing
	Send Destroy to hoItems
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
750
How can I filter items for dates before a specified date

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Dates" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortType of hoColumn to OLESortDate
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to True
			Set ComDisplayFilterDate of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowFocusItem + OLEexNoItems)
			Set ComFilter of hoColumn to "to 12/27/2010"
			Set ComFilterType of hoColumn to OLEexDate
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "12/27/2010" to Nothing
		Get ComAddItem of hoItems "12/28/2010" to Nothing
		Get ComAddItem of hoItems "12/29/2010" to Nothing
		Get ComAddItem of hoItems "12/30/2010" to Nothing
		Get ComAddItem of hoItems "12/31/2010" to Nothing
	Send Destroy to hoItems
	Send ComApplyFilter
	Send ComEndUpdate
End_Procedure
749
Is it possible to filter dates

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Dates" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortType of hoColumn to OLESortDate
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to True
			Set ComDisplayFilterDate of hoColumn to True
			Set ComFilterList of hoColumn to (OLEexShowFocusItem + OLEexNoItems)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "12/27/2010" to Nothing
		Get ComAddItem of hoItems "12/28/2010" to Nothing
		Get ComAddItem of hoItems "12/29/2010" to Nothing
		Get ComAddItem of hoItems "12/30/2010" to Nothing
		Get ComAddItem of hoItems "12/31/2010" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
748
Is it possible to change the Exclude field name to something different, in the drop down filter window

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComDescription OLEexFilterBarExclude to "Leaving out"
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
747
How can I display the Exclude field in the drop down filter window

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to (OLEexShowExclude + OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
746
Is it possible to show and ensure the focused item from the control, in the drop down filter window

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to (OLEexShowFocusItem + OLEexShowCheckBox)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Set ComSelectItem of hoItems (ComInsertItem(hoItems,h,"Child 2")) to True
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
745
Is it possible to show only blanks items with no listed items from the control

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to (OLEexShowBlanks + OLEexNoItems)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
744
How can I include the blanks items in the drop down filter window

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to (OLEexShowBlanks + OLEexShowCheckBox)
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
743
How can I select multiple items in the drop down filter window, using check-boxes

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to OLEexShowCheckBox
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
742
Is it possible to allow a single item being selected in the drop down filter window

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComFilterList of hoColumn to OLEexSingleSel
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
741
How can I display no (All) item in the drop down filter window

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComDescription OLEexFilterBarAll to ""
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to True
			Set ComFilterList of hoColumn to OLEexNoItems
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
740
Is it possible to display no items in the drop down filter window, so only the pattern is visible

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Items" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to True
			Set ComFilterList of hoColumn to OLEexNoItems
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
739
How can I show the child items with no identation

Procedure OnCreate
	Forward Send OnCreate
	Set ComLinesAtRoot to OLEexGroupLinesOutside
	Set ComIndent to 12
	Set ComHasLines to OLEexThinLine
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComInsertItem of hoItems h "Child 3" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComInsertItem of hoItems h "Child 3" to Nothing
	Send Destroy to hoItems
End_Procedure
738
Is there other ways of showing the hierarchy lines (exGroupLinesAtRoot)

Procedure OnCreate
	Forward Send OnCreate
	Set ComLinesAtRoot to OLEexGroupLinesAtRoot
	Set ComIndent to 12
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComInsertItem of hoItems h "Child 3" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
End_Procedure
737
Is there other ways of showing the hierarchy lines (exGroupLinesOutside)

Procedure OnCreate
	Forward Send OnCreate
	Set ComLinesAtRoot to OLEexGroupLinesOutside
	Set ComIndent to 12
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComInsertItem of hoItems h "Child 3" to Nothing
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComInsertItem of hoItems h "Child 3" to Nothing
	Send Destroy to hoItems
End_Procedure
736
Is there other ways of showing the hierarchy lines (exGroupLinesInsideLeaf)

Procedure OnCreate
	Forward Send OnCreate
	Set ComLinesAtRoot to OLEexGroupLinesInsideLeaf
	Set ComIndent to 12
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComInsertItem of hoItems h "Child 3" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
End_Procedure
735
Is there other ways of showing the hierarchy lines (exGroupLinesInside)

Procedure OnCreate
	Forward Send OnCreate
	Set ComLinesAtRoot to OLEexGroupLinesInside
	Set ComIndent to 12
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComInsertItem of hoItems h "Child 3" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
End_Procedure
734
Is there other ways of showing the hierarchy lines (exGroupLines)

Procedure OnCreate
	Forward Send OnCreate
	Set ComLinesAtRoot to OLEexGroupLines
	Set ComIndent to 12
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems (ComInsertItem(hoItems,h,"Child 2")) "SubChild 2" to Nothing
		Get ComInsertItem of hoItems h "Child 3" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
End_Procedure
733
Is it possible to display a column with buttons when using exCRD format

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComDrawGridLines to OLEexRowLines
	Set ComDefaultItemHeight to 36
	Set ComFullRowSelect to OLEexColumnSel
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Column2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLEEditType
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Column3" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComAlignment of hoColumn2 to OLECenterAlignment
			Set ComHeaderAlignment of hoColumn2 to OLECenterAlignment
			Set ComVisible of hoColumn2 to False
			Set ComDef of hoColumn2 OLEexCellHasButton to True
			Set ComDef of hoColumn2 OLEexCellButtonAutoWidth to True
		Send Destroy to hoColumn2
		Variant voColumn3
		Get ComAdd of hoColumns "FormatLevel" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComFormatLevel of hoColumn3 to "(0/1),2:64"
			Set ComDef of hoColumn3 OLEexCellFormatLevel to (ComFormatLevel(hoColumn3))
		Send Destroy to hoColumn3
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Cell 1.1" to h
		Set ComCellValue of hoItems h 1 to "Cell 1.2"
		Set ComCellValue of hoItems h 2 to "Cell 1.3"
		Get ComAddItem of hoItems "Cell 2.1" to h
		Set ComCellValue of hoItems h 1 to "Cell 2.2"
		Set ComCellValue of hoItems h 2 to "Cell 2.3"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
732
How can I change the check-boxes appearance

Procedure OnCreate
	Forward Send OnCreate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComPartialCheck of hoColumn to True
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "XP:Button 3 12" to Nothing
		Get ComAdd of hoAppearance 2 "XP:Button 3 11" to Nothing
		Get ComAdd of hoAppearance 3 "XP:Button 3 10" to Nothing
	Send Destroy to hoAppearance
	Set ComCheckImage OLEUnchecked to 16777216
	Set ComCheckImage OLEChecked to 33554432
	Set ComCheckImage OLEPartialChecked to 50331648
End_Procedure
731
Is it possible to disable the cell's editor context menu
Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Edit" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
				Set ComOption of hoEditor OLEexEditAllowContextMenu to False
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 10 to Nothing
		Get ComAddItem of hoItems 20 to Nothing
	Send Destroy to hoItems
End_Procedure
730
How can I find a value in a drop down editor

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "DropDownList" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDropDownListType
				Send ComAddItem of hoEditor 1 "DDList 1" Nothing
				Send ComAddItem of hoEditor 2 "DDList 2" Nothing
				Send ComAddItem of hoEditor 3 "DDList 3" Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "DropDown" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLEDropDownType
				Send ComAddItem of hoEditor1 1 "DDType 1" Nothing
				Send ComAddItem of hoEditor1 2 "DDType 2" Nothing
				Send ComAddItem of hoEditor1 3 "DDType 3" Nothing
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant v
			Variant voColumns2
			Get ComColumns to voColumns2
			Handle hoColumns2
			Get Create (RefClass(cComColumns)) to hoColumns2
			Set pvComObject of hoColumns2 to voColumns2
				Variant voColumn2
				Get ComItem of hoColumns2 1 to voColumn2
				Handle hoColumn2
				Get Create (RefClass(cComColumn)) to hoColumn2
				Set pvComObject of hoColumn2 to voColumn2
					Variant voColumn3
					Get ComItem of hoColumn2 1 to voColumn3
					Handle hoColumn3
					Get Create (RefClass(cComColumn)) to hoColumn3
					Set pvComObject of hoColumn3 to voColumn3
						Variant voEditor2
						Get ComEditor of hoColumn3 to voEditor2
						Handle hoEditor2
						Get Create (RefClass(cComEditor)) to hoEditor2
						Set pvComObject of hoEditor2 to voEditor2
							Get ComFindItem of hoEditor2 1 to v
						Send Destroy to hoEditor2
					Send Destroy to hoColumn3
				Send Destroy to hoColumn2
			Send Destroy to hoColumns2
		Set ComCellValue of hoItems (ComAddItem(hoItems,1)) 1 to v
		Variant v1
			Variant voColumns3
			Get ComColumns to voColumns3
			Handle hoColumns3
			Get Create (RefClass(cComColumns)) to hoColumns3
			Set pvComObject of hoColumns3 to voColumns3
				Variant voColumn4
				Get ComItem of hoColumns3 1 to voColumn4
				Handle hoColumn4
				Get Create (RefClass(cComColumn)) to hoColumn4
				Set pvComObject of hoColumn4 to voColumn4
					Variant voColumn5
					Get ComItem of hoColumn4 1 to voColumn5
					Handle hoColumn5
					Get Create (RefClass(cComColumn)) to hoColumn5
					Set pvComObject of hoColumn5 to voColumn5
						Variant voEditor3
						Get ComEditor of hoColumn5 to voEditor3
						Handle hoEditor3
						Get Create (RefClass(cComEditor)) to hoEditor3
						Set pvComObject of hoEditor3 to voEditor3
							Get ComFindItem of hoEditor3 2 to v1
						Send Destroy to hoEditor3
					Send Destroy to hoColumn5
				Send Destroy to hoColumn4
			Send Destroy to hoColumns3
		Set ComCellValue of hoItems (ComAddItem(hoItems,2)) 1 to v1
	Send Destroy to hoItems
End_Procedure
729
What is the difference between DropDownType and DropDownListType

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "DropDownList" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEDropDownListType
				Send ComAddItem of hoEditor 1 "First item" Nothing
				Send ComAddItem of hoEditor 2 "Second item" Nothing
				Send ComAddItem of hoEditor 3 "Third item" Nothing
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "DropDown" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLEDropDownType
				Send ComAddItem of hoEditor1 1 "First item" Nothing
				Send ComAddItem of hoEditor1 2 "Second item" Nothing
				Send ComAddItem of hoEditor1 3 "Third item" Nothing
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,1)) 1 to "Any"
		Set ComCellValue of hoItems (ComAddItem(hoItems,2)) 1 to "Any"
	Send Destroy to hoItems
End_Procedure
728
How can I add or change the padding (spaces) for captions in the control's header

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Padding-Left" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexHeaderPaddingLeft to 18
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "Padding-Right" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexHeaderPaddingRight to 18
			Set ComHeaderAlignment of hoColumn1 to OLERightAlignment
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Send ComEndUpdate
End_Procedure
727
Do you have any plans to add cell spacing and cell padding to the cells

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComDrawGridLines to OLEexRowLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Padding-Left" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Set ComDef of hoColumn OLEexCellPaddingLeft to 18
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "No-Padding" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComDef of hoColumn1 OLEexCellHasCheckBox to True
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComAdd of hoColumns2 "Empty" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComPosition of hoColumn2 to 0
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Item A.1")) 1 to "Item A.2"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Item B.1")) 1 to "Item B.2"
		Set ComCellValue of hoItems (ComAddItem(hoItems,"Item C.1")) 1 to "Item C.2"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
726
Is it possible to change the height for all items at once

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Items" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Root 1" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Get ComAddItem of hoItems "Root 2" to h
		Get ComInsertItem of hoItems h "Child 1" to Nothing
		Get ComInsertItem of hoItems h "Child 2" to Nothing
		Set ComExpandItem of hoItems 0 to True
	Send Destroy to hoItems
	Send ComEndUpdate
	Set ComDefaultItemHeight to 12
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComItemHeight of hoItems1 0 to 12
	Send Destroy to hoItems1
End_Procedure
725
Can I display somehow the filter just on the top of the list, with an editor associated to each column

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Variant v
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComIsItemLocked of hoItems llItem to v
	Send Destroy to hoItems
	Showln "Locked:" v
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns llColIndex to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFilter of hoColumn to llNewValue
			Set ComFilterType of hoColumn to OLEexPattern
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Send ComApplyFilter
End_Procedure

// Occurs when the user releases a mouse button.
Procedure OnComMouseUp Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComMouseUp llButton llShift llX llY
	Variant vOptions
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComLockedItem of hoItems1 OLEexTop 0 to vOptions
	Send Destroy to hoItems1
	Send ComEdit vOptions
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComColumnAutoResize to False
	Set ComScrollBySingleLine to True
	Set ComContinueColumnScroll to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Variant voItems2
	Get ComItems to voItems2
	Handle hoItems2
	Get Create (RefClass(cComItems)) to hoItems2
	Set pvComObject of hoItems2 to voItems2
		Set ComLockedItemCount of hoItems2 OLEexTop to 2
		Variant h
		Get ComLockedItem of hoItems2 OLEexTop 0 to h
		Variant voEditor
		Get ComCellEditor of hoItems2 h 0 to voEditor
		Handle hoEditor
		Get Create (RefClass(cComEditor)) to hoEditor
		Set pvComObject of hoEditor to voEditor
			Set ComEditType of hoEditor to OLEEditType
		Send Destroy to hoEditor
		Get ComLockedItem of hoItems2 OLEexTop 1 to h
		Set ComItemHeight of hoItems2 h to 4
		Set ComItemDivider of hoItems2 h to 0
		Set ComSelectableItem of hoItems2 h to False
	Send Destroy to hoItems2
End_Procedure
724
Is it possible to display information about the firing events
// Notifies the application once the control fires an event.
Procedure OnComEvent Integer   llEventID
	Forward Send OnComEvent llEventID
	Showln (ComEventParam(Self,-2))
End_Procedure


723
How can I change the layout of my columns when using the exCRD

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComDrawGridLines to OLEexRowLines
	Set ComDefaultItemHeight to 36
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column1" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComVisible of hoColumn to False
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Column2" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComVisible of hoColumn1 to False
			Variant voEditor1
			Get ComEditor of hoColumn1 to voEditor1
			Handle hoEditor1
			Get Create (RefClass(cComEditor)) to hoEditor1
			Set pvComObject of hoEditor1 to voEditor1
				Set ComEditType of hoEditor1 to OLEEditType
			Send Destroy to hoEditor1
		Send Destroy to hoColumn1
		Variant voColumn2
		Get ComAdd of hoColumns "Column3" to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComVisible of hoColumn2 to False
		Send Destroy to hoColumn2
		Variant voColumn3
		Get ComAdd of hoColumns "FormatLevel" to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComFormatLevel of hoColumn3 to "(0/1),2"
			Set ComDef of hoColumn3 OLEexCellFormatLevel to (ComFormatLevel(hoColumn3))
		Send Destroy to hoColumn3
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Cell 1.1" to h
		Set ComCellValue of hoItems h 1 to "Cell 1.2"
		Set ComCellValue of hoItems h 2 to "Cell 1.3"
		Get ComAddItem of hoItems "Cell 2.1" to h
		Set ComCellValue of hoItems h 1 to "Cell 2.2"
		Set ComCellValue of hoItems h 2 to "Cell 2.3"
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
722
Is it possible to scroll the control's content by clicking and moving the mouse up or down

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComContinueColumnScroll to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Set ComAutoDrag to OLEexAutoDragScroll
	Send ComEndUpdate
End_Procedure
721
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a snapshot
Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComHTMLPicture "p1" to "c:\exontrol\images\card.png"
	Set ComHTMLPicture "p2" to "c:\exontrol\images\sun.png"
	Set ComAutoDrag to OLEexAutoDragCopySnapShot
	Set ComLinesAtRoot to OLEexNoLinesAtRoot
	Set ComHasLines to OLEexThinLine
	Set ComShowFocusRect to False
	Set ComDefaultItemHeight to 26
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Task" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "<img>p1:32</img>Group 1" to h
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
		Set ComItemDivider of hoItems h to 0
		Set ComItemBold of hoItems h to True
		Variant h1
		Get ComInsertItem of hoItems h "Task 1" to h1
		Variant h2
		Get ComInsertItem of hoItems h "Task 2" to h2
		Variant h3
		Get ComInsertItem of hoItems h "Task 3" to h3
		Get ComAddItem of hoItems "<img>p2:32</img>Group 2" to h
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
		Set ComItemBold of hoItems h to True
		Set ComItemDivider of hoItems h to 0
		Get ComInsertItem of hoItems h "Task" to h1
		Set ComExpandItem of hoItems 0 to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
720
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a image

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHTMLPicture "p1" to ("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" + ;
"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" + ;
"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" + ;
"h5gWg6BNB/hEhvArhkBlhdBWgbBDA9gxgbAChuAjAcA2hSh6ATBWgkglhPhNgKAEhOgug1hxB0AEA3BXBmhRQRAZBrgBApBPg2g8hCgaByhUE8BUhKhwBHvMhKhwhrAPA9h4g8A0gYhaBMhqAzhvA/h4hwhlgDA/hrBQh7g1gDBcAug4AogAhSAhgbh6hiAjAQg1BXB+h9B1gjBKBdACBageBxh0hpgJgOATgUATBwBJhPhPhwAeh6ApzQgnA8B2glgegVBhgrAgg9AlgChbgZhHAXhvBsAuBeA2ArhiA7BoBFgHgvgZBsBIgvBVAMA1gxgAhtA2hfg3geBkAlB1BYrbhbgKhzBbBUhEpeMhgOhnA+hGg7hvBQhWgwBGhSB3A1heB5h3AahUhvhahtBvgGhQAOgRBhhbAtg6gDgBA2gEhjBtTmA2gMgshvOYB8h4B8BVgLAig+g1AGhChtheBdgIh0B3AZgYB5B5gUgCg8BBhghFglBdAHhLg8ccBaghgShvB0hwAhBWgxglhlgNgkBSArA612tcg6gZhrBLUohIgZBQZVAWFNh1h/BVhyBNhNgGAKA2BTgkAAhtgQhZBsgdB5BPhvh8hNhfh9h9A3g+h5gNhfhdAdB9B+h0Ahg2BmgiBYhGgGhYB2hUh8gIAthHhXA2hEB4BbB0E5haBwAOBvAjgxgvBtgTBFhjg8hHhqA5A/gmA2glhxg2gJhDAWhKhsg5BLgChrhth9n6giAVgwhhhnhOg0hlBuh8h3O1g6h5gdg5gPhzgOhZAvBKg/h9EuB+AXhwAEg4TXBIhUgHAtgTA/AOg8AJh8ARhwBrhsAaABA/hYhHBFAEh/gXhgA9pRk8BjA8g7hAgxg2A3hoAIhbAsg1BFAUhxBFhfAohVAAhFAAhZh+AphwAYhbAzg0BsXwBcBugUhbBhh2g7Acgt5fhxAPhBAwg/AEguW/hgAkBBhgBzA0Bdg3faBwBFg3h+hmhYh4hBfSgxg5h1A/gBheADASgcAKg/gJAjCRgkgignAiBXAhAwBBCAg==")
	Set ComHTMLPicture "p2" to ("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" + ;
"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" + ;
"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" + ;
"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" + ;
"XB6OoERKGABCoXIMQ1F0CDkDoLx5MYgQfHYVB9HQcjcHsYzcOYlCMAUtBdqgXSaF4TgnB4lTbGcPjqAAPjPA4BA4IIcCMFkmzhNA9x3KoqjwKUzh7KwTDhJkagFHY7j0NARzfD0NSPJ43yHLgiwyCY0zvBAQytGU2yWDo6CYPUpifB8rDtG4TTmJssiyOAmCBFQDhQP4GCwFoZg5AACAAIcsxoD83xAAI4AIFQtzYL8IzZNsyyfDAxQHE48A9MgNglgghFFKJkKgTAiAyHiJca4owiBgAkCkdYDg6ipE0EIGQiQnCtA6LACI6hUD5GsI0bonQvhtB8LsBQeByBACiIAJgAQ9AEFWJcWAOBBgkf2AYJACgkCEHIrQGLzRnixGuD0X4ew4jrBkDEMYsxBjeFeJkD4shYh1EoD4BobAXglC+OINIUQ/juC2BwQoSgmi+G0DgJQhxShYDoCUT4iAwhxH4JwUgtQDg3A+F4Xw1xdh9FwDUPQYQBjeEqIAZQAQogCGQEEWAjwmgZGANwAIXBBhBDAMcCADQRhNHsHEfYbhrA8EgBcf4ehaisB8O8M4JRkjpBoFMbo8QUC2A6FMGYnxoBoAQPEUgoAnimFOHMF48AYBeAkJECojRJDJDiEYGYzRYDTEwK8bonA6DXDOO8Pw/BFg/H2J4bQ3gMC8HwBoQQrxgBcEAHQAIlgLDEA0CAQA2QBhJECOMLIfBUiYAgE8HxywvgeDsLcfoqw/g3G4NgHgcATjzEeE4I49o+jxCECUC4Exnh1HgAgUA+hrCHEAJAL4CkaCYGAPAJIAg4BdEMBkPY9AniiA0NYNADxli8HQHcPYiw1h/HmNYPYnx+D5FWO4ToKx1hXC+AcRoxwkBqAAE4fI8haDiFmOgcwGhpATDQHERQyR7O8D6PMUAuxKheH+PsWgsh9BPCaL0XAXxWhvCMMkawuA0h7CWNoJQpQVDEBIBASAmx/gtAuL8FAPQejmAECEGIpQXApByBMC4DhSivAuDIFgzAlCWC6GodQ5gBhbAcC8WoxQPj+GGH8P48hgw0HcLwfI/QzivHaAwQ4lxXDBFYDwA4sgxiAAKNgJoEB1j7EwO4PwjBujbDuOMewUQ7B7FsPofY/xfPWDkNAYIthYD6FQFkUggx/BmB+PYBQWwmAOG4MQQ46AkALGgKAf41AFD/A4JIDwVw7DOEGJoXADhrB3D8KAGGAwxDHCgCwAw6xChNDcPIbwIhvj6GyIQKwDw3jcEyLyLAeBZgYHsN4LgsxbDIEQIQeg3g6srCeE4XovQtibAuN8FYxxhijB4B8HwCB8jgFCAkOAdQWC6CoEoGwVAahcH2NkagzQiivCuP4T4gh8xgH+DgGAExAjnGiLYIwGhNDFHCKESgXidBODuF0bgkRTD3BAJceYbBaBqA+B4Y4zQ7inBoKkR46xiggAmGpZ4MY3h6G2FccQngKg2DUCUe4ZAvAJC6LsaAcQ3iXBmG4KoJBoj6GEB0GwnhujBEoLMAIRQJAEFgPgLQ9x9BlFWAUBIQhogxCsOsYQBhYjhFuKsYwmRDiVCaMMZIIhOhsY4HcQYjh3gzHKLcfQQwYj0F8GoRYfhbClHkJgaITB3AEEyI4KoRBxCsHkK4YokRWDKAEKcaYtgPBfB0M0JoAx8DIDaJcQ4vAUDBDSPIRoWwdB8G8HAMQEhqBGf0GIMYNhXC3GaKwW46hHBmA4LYZgTg2AxH8HUMQ8woBnHyIYSg7gkAoGmAkdorBkDsCcCYFINB2jsCIAUHoZBNidBoLIHQyh8jIGMC4GoCwNB1DaKwMfLhyA2B6K0d48BKh7CeHwLwBgCAmB0OEIIKhrieCSJMaATwrj8GeHsRI3BBg2AaGYaIhwnBajQJECY6QkBCFwJwVI2A7ghYSOsOYrQmhDEyFUNogx9DUC8J4ZY6QIhtGeC8XQcRPAgEQH8W43QeACCwFIYQfgehIA8JoZIpBTDrFaH8Cy0ApC5EuB4Tg1BQBsB6DcY42hgCWGKGgcIkhJh1GmIQSozRqhuD0DwSYvQIjiBOHs" + ;
"YYlBVgOAoOMeQ/gjC/C2NAeYEQQ0pCQIkPoPhUC8HGAgY4QQMCjB0O8cwbAFB5GECnoYoh4gOCIL4NY0xOjbD3B4B1BUAmClAyAYDFDLDKDqDrB1BKD/BnAADtCOCxD1DLZnCEAAgZAABJBFBOBECuBCBgCCEBA==")
	Variant var_HTMLPicture
	Get ComHTMLPicture "aka1" to var_HTMLPicture
	Set ComHeaderHeight to 24
	Set ComDefaultItemHeight to 48
	Set ComDrawGridLines to OLEexRowLines
	Set ComGridLineColor to (RGB(240,240,240))
	Set ComSelBackMode to OLEexTransparent
	Set ComColumnAutoResize to False
	Set ComContinueColumnScroll to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 0 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDef of hoColumn OLEexCellValueFormat to 1
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 0 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComFormatColumn of hoColumn1 to "value + ` <img>p` + (1 + (value mod 3 ) ) + `</img>`"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 0 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComWidth of hoColumn2 to 112
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Variant voColumns3
	Get ComColumns to voColumns3
	Handle hoColumns3
	Get Create (RefClass(cComColumns)) to hoColumns3
	Set pvComObject of hoColumns3 to voColumns3
		Variant voColumn3
		Get ComItem of hoColumns3 1 to voColumn3
		Handle hoColumn3
		Get Create (RefClass(cComColumn)) to hoColumn3
		Set pvComObject of hoColumn3 to voColumn3
			Set ComDef of hoColumn3 OLEexCellHasCheckBox to 1
		Send Destroy to hoColumn3
	Send Destroy to hoColumns3
	Variant voColumns4
	Get ComColumns to voColumns4
	Handle hoColumns4
	Get Create (RefClass(cComColumns)) to hoColumns4
	Set pvComObject of hoColumns4 to voColumns4
		Variant voColumn4
		Get ComItem of hoColumns4 2 to voColumn4
		Handle hoColumn4
		Get Create (RefClass(cComColumn)) to hoColumn4
		Set pvComObject of hoColumn4 to voColumn4
			Set ComLevelKey of hoColumn4 to "1"
		Send Destroy to hoColumn4
	Send Destroy to hoColumns4
	Variant voColumns5
	Get ComColumns to voColumns5
	Handle hoColumns5
	Get Create (RefClass(cComColumns)) to hoColumns5
	Set pvComObject of hoColumns5 to voColumns5
		Variant voColumn5
		Get ComItem of hoColumns5 3 to voColumn5
		Handle hoColumn5
		Get Create (RefClass(cComColumn)) to hoColumn5
		Set pvComObject of hoColumn5 to voColumn5
			Set ComLevelKey of hoColumn5 to "1"
		Send Destroy to hoColumn5
	Send Destroy to hoColumns5
	Variant voColumns6
	Get ComColumns to voColumns6
	Handle hoColumns6
	Get Create (RefClass(cComColumns)) to hoColumns6
	Set pvComObject of hoColumns6 to voColumns6
		Variant voColumn6
		Get ComItem of hoColumns6 4 to voColumn6
		Handle hoColumn6
		Get Create (RefClass(cComColumn)) to hoColumn6
		Set pvComObject of hoColumn6 to voColumn6
			Set ComLevelKey of hoColumn6 to "1"
		Send Destroy to hoColumn6
	Send Destroy to hoColumns6
	Set ComAutoDrag to OLEexAutoDragCopyImage
	Set ComSingleSel to False
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComItemByIndex of hoItems 1 to h
		Set ComSelectItem of hoItems h to True
		Get ComItemByIndex of hoItems 2 to h
		Set ComSelectItem of hoItems h to True
		Get ComItemByIndex of hoItems 3 to h
		Set ComSelectItem of hoItems h to True
		Set ComLockedItemCount of hoItems OLEexBottom to 1
		Get ComLockedItem of hoItems OLEexBottom 0 to h
		Set ComCellValue of hoItems h 1 to "<font ;16>Click the selection and <b>wait to start dragging</b>, and then drop to Microsoft Word, ..."
		Set ComCellSingleLine of hoItems h 1 to False
		Set ComCellValueFormat of hoItems h 1 to OLEexHTML
		Set ComCellHAlignment of hoItems h 1 to OLECenterAlignment
		Set ComItemDivider of hoItems h to 1
		Set ComItemDividerLineAlignment of hoItems h to OLEDividerTop
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
719
How can copy and paste the selection to Microsoft Word, Excel or any OLE compliant application, as a text

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComColumnAutoResize to False
	Set ComContinueColumnScroll to False
	Variant rs
	Get Comcreateobject "ADOR.Recordset" to rs
		Send ComOpen "Orders" "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb" OLEadOpenStatic OLEadLockOptimistic Nothing
	Set ComDataSource to rs
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 2 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComLevelKey of hoColumn to "1"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 3 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComLevelKey of hoColumn1 to "1"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Variant voColumn2
		Get ComItem of hoColumns2 4 to voColumn2
		Handle hoColumn2
		Get Create (RefClass(cComColumn)) to hoColumn2
		Set pvComObject of hoColumn2 to voColumn2
			Set ComLevelKey of hoColumn2 to "1"
		Send Destroy to hoColumn2
	Send Destroy to hoColumns2
	Set ComAutoDrag to OLEexAutoDragCopyText
	Set ComSingleSel to False
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComItemByIndex of hoItems 1 to h
		Set ComSelectItem of hoItems h to True
		Get ComItemByIndex of hoItems 3 to h
		Set ComSelectItem of hoItems h to True
		Get ComItemByIndex of hoItems 4 to h
		Set ComSelectItem of hoItems h to True
		Get ComItemByIndex of hoItems 5 to h
		Set ComSelectItem of hoItems h to True
		Set ComLockedItemCount of hoItems OLEexBottom to 1
		Get ComLockedItem of hoItems OLEexBottom 0 to h
		Set ComCellValue of hoItems h 0 to "<font ;16>Click the selection and <b>wait to start dragging</b>, and then drop to Microsoft Word, Excel, ..."
		Set ComCellSingleLine of hoItems h 0 to False
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
		Set ComCellHAlignment of hoItems h 0 to OLECenterAlignment
		Set ComItemDivider of hoItems h to 0
		Set ComItemDividerLineAlignment of hoItems h to OLEDividerTop
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
718
Is it possible to change the indentation during the drag and drop

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComAutoDrag to OLEexAutoDragPositionAny
	Set ComLinesAtRoot to OLEexNoLinesAtRoot
	Set ComHasLines to OLEexSolidLine
	Set ComHasButtons to OLEexWPlus
	Set ComShowFocusRect to False
	Set ComSelBackMode to OLEexTransparent
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Task" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Group 1" to h
		Set ComItemBold of hoItems h to True
		Set ComItemDivider of hoItems h to 0
		Variant h1
		Get ComInsertItem of hoItems h "Task 1" to h1
		Variant h2
		Get ComInsertItem of hoItems h1 "Task 2" to h2
		Get ComInsertItem of hoItems h1 "Task 3" to h2
		Variant h3
		Get ComInsertItem of hoItems h "Task 3" to h3
		Set ComExpandItem of hoItems h to True
		Set ComExpandItem of hoItems h1 to True
		Get ComAddItem of hoItems "Group 2" to h
		Set ComItemBold of hoItems h to True
		Set ComItemDivider of hoItems h to 0
		Set ComLockedItemCount of hoItems OLEexBottom to 1
		Get ComLockedItem of hoItems OLEexBottom 0 to h
		Set ComCellValue of hoItems h 0 to "Click a row, and move by dragging <b>up, down</b> to change the row's parent or <b>left,right</b> to increase or decrease the indentation."
		Set ComCellSingleLine of hoItems h 0 to False
		Set ComCellValueFormat of hoItems h 0 to OLEexHTML
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
717
Is it possible to allow moving an item to another, but keeping its indentation

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComAutoDrag to OLEexAutoDragPositionKeepIndent
	Set ComLinesAtRoot to OLEexNoLinesAtRoot
	Set ComHasLines to OLEexThinLine
	Set ComShowFocusRect to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Task" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "Group 1" to h
		Set ComItemDivider of hoItems h to 0
		Set ComItemBold of hoItems h to True
		Variant h1
		Get ComInsertItem of hoItems h "Task 1" to h1
		Variant h2
		Get ComInsertItem of hoItems h "Task 2" to h2
		Variant h3
		Get ComInsertItem of hoItems h "Task 3" to h3
		Set ComExpandItem of hoItems h to True
		Get ComAddItem of hoItems "Group 2" to h
		Set ComItemBold of hoItems h to True
		Set ComItemDivider of hoItems h to 0
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
716
How can I change the row's position to another, by drag and drop. Is it possible

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voAppearance
	Get ComVisualAppearance to voAppearance
	Handle hoAppearance
	Get Create (RefClass(cComAppearance)) to hoAppearance
	Set pvComObject of hoAppearance to voAppearance
		Get ComAdd of hoAppearance 1 "c:\exontrol\images\normal.ebn" to Nothing
	Send Destroy to hoAppearance
	Set ComAutoDrag to OLEexAutoDragPosition
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Task" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h1
		Get ComAddItem of hoItems "Task 1" to h1
		Variant h2
		Get ComAddItem of hoItems "Task 2" to h2
		Variant h3
		Get ComAddItem of hoItems "Task 3" to h3
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
715
Is it possible background color displayed when the mouse passes over an item

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Def" to Nothing
	Send Destroy to hoColumns
	Set ComHotBackColor to (RGB(0,0,128))
	Set ComHotForeColor to (RGB(255,255,255))
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item A" to Nothing
		Get ComAddItem of hoItems "Item B" to Nothing
		Get ComAddItem of hoItems "Item C" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
714
My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Task" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Task 1" to Nothing
		Get ComAddItem of hoItems "Task 2" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
	Set ComTemplate to "Dim p;p = CreateObject(`Exontrol.Print`);p.PrintExt = Me;p.AutoRelease = False;p.Preview();"
End_Procedure
713
My development environment does not have any Object,GetOcx,DefaultDispatch,GetControlUnknown,nativeObject, ... property, is there any alternative I can pass the component to PrintExt so I can get printed

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Get ComAddItem of hoItems "Task 2" to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
	Handle hoPrint
	Get Create (RefClass(cComPrint)) to hoPrint // Import the 'ExPrint 1.0 Control Library' library
		Variant v
			Get ComExecuteTemplate "me" to v
		Set ComPrintExt of hoPrint to v
		Send ComPreview of hoPrint
	Send Destroy to hoPrint
End_Procedure
712
How can I apply the same ConditionalFormat on more than 1(one) column (multiple columns and not on item)

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "1" "K1" to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBackColor of hoConditionalFormat to (RGB(255,0,0))
			Set ComApplyTo of hoConditionalFormat to |CI$1
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Variant voConditionalFormats1
	Get ComConditionalFormats to voConditionalFormats1
	Handle hoConditionalFormats1
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats1
	Set pvComObject of hoConditionalFormats1 to voConditionalFormats1
		Variant voConditionalFormat1
		Get ComAdd of hoConditionalFormats1 "1" "K2" to voConditionalFormat1
		Handle hoConditionalFormat1
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat1
		Set pvComObject of hoConditionalFormat1 to voConditionalFormat1
			Set ComBackColor of hoConditionalFormat1 to (RGB(255,0,0))
			Set ComApplyTo of hoConditionalFormat1 to |CI$2
		Send Destroy to hoConditionalFormat1
	Send Destroy to hoConditionalFormats1
	Set ComMarkSearchColumn to False
	Set ComDrawGridLines to OLEexRowLines
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Column 1" to Nothing
		Get ComAdd of hoColumns "Column 2" to Nothing
		Get ComAdd of hoColumns "Column 3" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems Nothing to Nothing
		Get ComAddItem of hoItems Nothing to Nothing
		Get ComAddItem of hoItems Nothing to Nothing
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
711
Is it possible to add new records and see them in the control's view using the DataSource

// Occurs when user clicks on the cell's button.
Procedure OnComButtonClick HITEM   llItem Integer   llColIndex Variant   llKey
	Forward Send OnComButtonClick llItem llColIndex llKey
	Variant voRecordset
	Get ComDataSource to voRecordset
	Handle hoRecordset
	Get Create (RefClass(cComRecordset)) to hoRecordset
	Set pvComObject of hoRecordset to voRecordset
		Send ComAddNew of hoRecordset "Task" "New-Task"
		Send ComUpdate of hoRecordset Nothing Nothing
	Send Destroy to hoRecordset
End_Procedure

// Fired when an internal error occurs.
Procedure OnComError Integer   llError String   llDescription
	Forward Send OnComError llError llDescription
	Showln llDescription
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Variant rs
	Get Comcreateobject "ADODB.Recordset" to rs
		Variant voFields
		Get ComFields to voFields
		Handle hoFields
		Get Create (RefClass(cComFields)) to hoFields
		Set pvComObject of hoFields to voFields
			Send ComAppend of hoFields "Task" OLEadBSTR Nothing Nothing Nothing
			Send ComAppend of hoFields "Start" OLEadDate Nothing Nothing Nothing
			Send ComAppend of hoFields "End" OLEadDate Nothing Nothing Nothing
		Send Destroy to hoFields
		Send ComOpen Nothing Nothing Nothing Nothing Nothing
	Set ComDrawGridLines to OLEexRowLines
	Set ComDetectAddNew to True
	Set ComDetectDelete to True
	Set ComDataSource to rs
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComLockedItemCount of hoItems OLEexTop to 1
		Variant h
		Get ComLockedItem of hoItems OLEexTop 0 to h
		Set ComItemDivider of hoItems h to 0
		Set ComItemHeight of hoItems h to 22
		Set ComCellValue of hoItems h 0 to "AddNew"
		Set ComCellHasButton of hoItems h 0 to True
		Set ComCellHAlignment of hoItems h 0 to OLECenterAlignment
	Send Destroy to hoItems
End_Procedure
710
How can I initiate an OLE Drag and Drop operation in /COM version

// Occurs when the OLEDrag method is called.
Procedure OnComOLEStartDrag Variant   llData Integer   llAllowedEffects
	Forward Send OnComOLEStartDrag llData llAllowedEffects
	// Data.SetData("your data to drag")
	Move 2 to AllowedEffects
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Default" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Item 1" to Nothing
		Get ComAddItem of hoItems "Item 2" to Nothing
		Get ComAddItem of hoItems "Item 3" to Nothing
		Get ComAddItem of hoItems "Item 4" to Nothing
		Get ComAddItem of hoItems "Item 5" to Nothing
	Send Destroy to hoItems
	Set ComOLEDropMode to OLEexOLEDropManual
	Send ComEndUpdate
End_Procedure
709
How can I find the order of the events
// Fired after an item is expanded (collapsed).
Procedure OnComAfterExpandItem HITEM   llItem
	Forward Send OnComAfterExpandItem llItem
	Showln "AfterExpandItem" llItem
End_Procedure

// Occurs when an anchor element is clicked.
Procedure OnComAnchorClick String   llAnchorID String   llOptions
	Forward Send OnComAnchorClick llAnchorID llOptions
	Showln "AnchorClick" llAnchorID llOptions
End_Procedure

// Fired before an item is about to be expanded (collapsed).
Procedure OnComBeforeExpandItem HITEM   llItem Variant   llCancel
	Forward Send OnComBeforeExpandItem llItem llCancel
	Showln "BeforeExpandItem" llItem
End_Procedure

// Occurs when user clicks on the cell's button.
Procedure OnComButtonClick HITEM   llItem Integer   llColIndex Variant   llKey
	Forward Send OnComButtonClick llItem llColIndex llKey
	Showln "ButtonClick" llItem llColIndex llKey
End_Procedure

// Fired after the user clicks on the image's cell area.
Procedure OnComCellImageClick HITEM   llItem Integer   llColIndex
	Forward Send OnComCellImageClick llItem llColIndex
	Showln "CellImageClick" llItem llColIndex
End_Procedure

// Fired after cell's state has been changed.
Procedure OnComCellStateChanged HITEM   llItem Integer   llColIndex
	Forward Send OnComCellStateChanged llItem llColIndex
	Showln "CellStateChanged" llItem llColIndex
End_Procedure

// Occurs when the user changes the cell's content.
Procedure OnComChange HITEM   llItem Integer   llColIndex Variant   llNewValue
	Forward Send OnComChange llItem llColIndex llNewValue
	Showln "Change" llItem llColIndex llNewValue
End_Procedure

// Occurs when the user presses and then releases the left mouse button over the grid control.
Procedure OnComClick 
	Forward Send OnComClick 
	Showln "Click"
End_Procedure

// Fired after the user clicks on column's header.
Procedure OnComColumnClick Variant   llColumn
	Forward Send OnComColumnClick llColumn
	Showln "ColumnClick"
End_Procedure

// Occurs when the user dblclk the left mouse button over an object.
Procedure OnComDblClick Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComDblClick llShift llX llY
	Showln "DblClick" llShift llX llY
	Send ComEdit Nothing
End_Procedure

// Occurs just before editing the focused cell.
Procedure OnComEdit HITEM   llItem Integer   llColIndex Boolean   llCancel
	Forward Send OnComEdit llItem llColIndex llCancel
	Showln "Edit" llItem llColIndex
End_Procedure

// Occurs when the edit operation ends.
Procedure OnComEditClose 
	Forward Send OnComEditClose 
	Showln "EditClose"
End_Procedure

// Occurs when the edit operation starts.
Procedure OnComEditOpen 
	Forward Send OnComEditOpen 
	Showln "EditOpen"
End_Procedure

// Occurs when filter was changed.
Procedure OnComFilterChange 
	Forward Send OnComFilterChange 
	Showln "FilterChange"
End_Procedure

// Notifies your application that the filter is about to change.
Procedure OnComFilterChanging 
	Forward Send OnComFilterChanging 
	Showln "FilterChanging"
End_Procedure

// Occurs when a new cell is focused.
Procedure OnComFocusChanged 
	Forward Send OnComFocusChanged 
	Showln "FocusChanged"
End_Procedure

// Occurs when the user presses a key while an object has the focus.
Procedure OnComKeyDown Short   llKeyCode Short   llShift
	Forward Send OnComKeyDown llKeyCode llShift
	Showln "KeyDown" llKeyCode llShift
End_Procedure

// Occurs when the user presses and releases an ANSI key.
Procedure OnComKeyPress Short   llKeyAscii
	Forward Send OnComKeyPress llKeyAscii
	Showln "KeyPress" llKeyAscii
End_Procedure

// Occurs when the user releases a key while an object has the focus.
Procedure OnComKeyUp Short   llKeyCode Short   llShift
	Forward Send OnComKeyUp llKeyCode llShift
	Showln "KeyUp" llKeyCode llShift
End_Procedure

// Occurs when column's position or column's size is changed.
Procedure OnComLayoutChanged 
	Forward Send OnComLayoutChanged 
	Showln "LayoutChanged"
End_Procedure

// Occurs when the user presses a mouse button.
Procedure OnComMouseDown Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComMouseDown llButton llShift llX llY
	Showln "MouseDown" llButton llShift llX llY
End_Procedure

// Occurs when the user moves the mouse.
Procedure OnComMouseMove Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComMouseMove llButton llShift llX llY
End_Procedure

// Occurs when the user releases a mouse button.
Procedure OnComMouseUp Short   llButton Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComMouseUp llButton llShift llX llY
	Showln "MouseUp" llButton llShift llX llY
End_Procedure

// Occurs when the scroll position has been changed.
Procedure OnComOffsetChanged Boolean   llHorizontal Integer   llNewVal
	Forward Send OnComOffsetChanged llHorizontal llNewVal
	Showln "OffsetChanged" llHorizontal llNewVal
End_Procedure

// Occurs when the right range of the scroll has been changed.
Procedure OnComOversizeChanged Boolean   llHorizontal Integer   llNewVal
	Forward Send OnComOversizeChanged llHorizontal llNewVal
	Showln "OversizeChanged" llHorizontal llNewVal
End_Procedure

// Fired when right mouse button is clicked
Procedure OnComRClick 
	Forward Send OnComRClick 
	Showln "RClick"
End_Procedure

// Occurs when the user clicks a button in the scrollbar.
Procedure OnComScrollButtonClick OLEScrollBarEnum   llScrollBar OLEScrollPartEnum   llScrollPart
	Forward Send OnComScrollButtonClick llScrollBar llScrollPart
	Showln "ScrollButtonClick" llScrollBar llScrollPart
End_Procedure

// Fired after a new item has been selected.
Procedure OnComSelectionChanged 
	Forward Send OnComSelectionChanged 
	Showln "SelectionChanged"
End_Procedure

// Fired when the control sorts a column.
Procedure OnComSort 
	Forward Send OnComSort 
	Showln "Sort"
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Send ComImages "gBJJgBAIEAAGAEGCAAhb/hz/EIAh8Tf5CJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1BAmBhOCwMGwuDw2ExWJxmIx2HyGLv+TlykUCgABmGYzzObzuczWcKujzOa0ug02hz+r1Wtz2qoCA2QAYG1yk02YA3NMy2Yh8Sh202zx4gA4jxADM5XG4vHACy6ESdjM6XUZiZTMS5bwZSm1c83+yQHCYHk81Q8O7qW18u/9NG3vAf/y83u4PQWQA0ZVADq/z6um6rkuw7TqH+5bYJu+z5vE8z2N02cGweoDfwfCrbQfBqkNzBb6QfDLxp6+LlOs5cSOTEzlm7FYACFFwADvGIAGvGjzOu7MbwHHECQSmUOvS8cGwk20gQc2ycQs4MLvLD8MNtDSfyS+cmyZJzywa96axzDsTw6/x1AAL8xRbF8Vm65jkH/AL8QFNTqR6lsfuDIb2uDKTzTo88FTtIk+PK3SNRDKiew5JVDSnK08NnOUGRClkt0PFEDUjMwAENS4AM2zj4udNznujT1PTgjdGQg8c71RPtESvCL1JrO8lozQUj1nP6d1TKtc0U8dS1jCaNRzGhrxnGthWJYdjUrYwc2ZMMx2NB8czZNk4VLPMstzXD6Q6mltVjPNAT0m1CvnDtBxBXlI3PRKNzZDtjQ6cd5TQ/TSU0/r/udC0A1Ez1SUja8/QhWVavrSLfpxWNzXZR2CygmVtXXVl03Lg+BV+lV3UjeDgzEL4AXkcb6Pje5LZNDzhuLfrOX/RtT0TQbc5lENSvBi2K5xlFdUHhN1ZhJ9F59WybOU7NjWTFkvxhGT9zIIQAWYHIABFqmnABSsT0HUaNYlI1dZmjNuUDRybzvIVWyDoOc54n8Oyxm9Ta9cSUaLbbg44+b4xiO9nY/pt73u38Tuc52tpdruYxDVyUbBV+gYpu2c7PyGMKTt21cjnW6OvzO8PppUvP/Ljlt/wt/Vvn+v8V1eCdbgaa7fnMi8vyD0TnzGEJXyp/wJ3js98iXe+F3/hwGM3jeQZjTeUznmOT5bTKJyqYcbm2c5bzXpqvsWw4FUkCO473wgB8cD9/znzO14n1+D4/efcTP4fl5+WKvxbbptmqV+B/ni/68R4514AvxeTAR50B3oPNei/iBhFgfErgeR4kBIiSAAJKSiC7PT5wMKIQ4fwfyHDzg2PwD4/B/jgg2PgA48AfjgB+RkeAARwAPGAA8jI4AADgAOMAAZGTyw6YbDkA7ZDaAHgxDyCxGgBw8EBBmJcS4LjAATDweBGoqjgAGP4jQ/AcjwAHBsiQex8gPH+MF7pDxxkB"
	Set ComDrawGridLines to OLEexAllLines
	Set ComLinesAtRoot to OLEexLinesAtRoot
	Set ComGridLineStyle to OLEexGridLinesHDash
	Set ComAutoEdit to False
	Set ComExpandOnDblClick to False
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Column" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDef of hoColumn OLEexCellHasCheckBox to True
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
		Variant voColumn1
		Get ComAdd of hoColumns "Button" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComAllowSizing of hoColumn1 to False
			Set ComWidth of hoColumn1 to 18
			Set ComDef of hoColumn1 OLEexCellHasButton to True
		Send Destroy to hoColumn1
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Variant h
		Get ComAddItem of hoItems "parent" to h
		Set ComCellImage of hoItems h 0 to 1
		Get ComInsertItem of hoItems h "" "child" to Nothing
		Set ComExpandItem of hoItems h to True
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
708
Is it possible to select a column instead sorting it

// Fired after the user clicks on column's header.
Procedure OnComColumnClick Variant   llColumn
	Forward Send OnComColumnClick llColumn
	// Column.Selected = True
	Send ComBeginUpdate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComItem of hoColumns 0 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSelected of hoColumn to False
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComItem of hoColumns1 1 to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComSelected of hoColumn1 to False
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Send ComSelectAll of hoItems
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComMarkSearchColumn to False
	Set ComShowFocusRect to False
	Set ComSingleSel to False
	Set ComFullRowSelect to OLEexRectSel
	Set ComSortOnClick to OLEexNoSort
	Variant voColumns2
	Get ComColumns to voColumns2
	Handle hoColumns2
	Get Create (RefClass(cComColumns)) to hoColumns2
	Set pvComObject of hoColumns2 to voColumns2
		Get ComAdd of hoColumns2 "Column1" to Nothing
		Get ComAdd of hoColumns2 "Column2" to Nothing
	Send Destroy to hoColumns2
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Set ComCellValue of hoItems1 (ComAddItem(hoItems1,"One")) 1 to "Three"
		Set ComCellValue of hoItems1 (ComAddItem(hoItems1,"Two")) 1 to "Four"
		Send ComSelectAll of hoItems1
	Send Destroy to hoItems1
	Send ComEndUpdate
End_Procedure
707
Is it possible to display empty strings for 0 values

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Currency" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComFormatColumn of hoColumn to "dbl(value) ? currency(dbl(value)) : ``"
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
				Set ComNumeric of hoEditor to OLEexFloat
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 1.23 to Nothing
		Get ComAddItem of hoItems 2.34 to Nothing
		Get ComAddItem of hoItems 0 to Nothing
		Get ComAddItem of hoItems 10000.99 to Nothing
	Send Destroy to hoItems
End_Procedure
706
Is it possible to display empty strings for 0 values

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Number" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn
		Get ComAdd of hoColumns1 "Currency" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComComputedField of hoColumn to "%0 ? currency(%0) : ``"
		Send Destroy to hoColumn
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems 1.23 to Nothing
		Get ComAddItem of hoItems 2.34 to Nothing
		Get ComAddItem of hoItems 0 to Nothing
		Get ComAddItem of hoItems 10000.99 to Nothing
	Send Destroy to hoItems
End_Procedure
705
How can I get the list of items as they are displayed

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComBackColorAlternate to (RGB(240,240,240))
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "Names" to Nothing
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "Mantel" to Nothing
		Get ComAddItem of hoItems "Mechanik" to Nothing
		Get ComAddItem of hoItems "Motor" to Nothing
		Get ComAddItem of hoItems "Murks" to Nothing
		Get ComAddItem of hoItems "Märchen" to Nothing
		Get ComAddItem of hoItems "Möhren" to Nothing
		Get ComAddItem of hoItems "Mühle" to Nothing
	Send Destroy to hoItems
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn
		Get ComItem of hoColumns1 0 to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComSortOrder of hoColumn to OLESortAscending
		Send Destroy to hoColumn
	Send Destroy to hoColumns1
	Send ComEndUpdate
	Showln (ComGetItems(Self,1))
End_Procedure
704
Is it possible to add new rows, as I type like in Excel

// Occurs when the edit operation ends.
Procedure OnComEditClose 
	Forward Send OnComEditClose 
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems "" to Nothing
	Send Destroy to hoItems
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComAutoEdit to True
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Default" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLEEditType
			Send Destroy to hoEditor
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Set ComFullRowSelect to OLEexColumnSel
	Variant voItems1
	Get ComItems to voItems1
	Handle hoItems1
	Get Create (RefClass(cComItems)) to hoItems1
	Set pvComObject of hoItems1 to voItems1
		Get ComAddItem of hoItems1 "" to Nothing
	Send Destroy to hoItems1
	Set ComDrawGridLines to OLEexAllLines
	Set ComScrollBars to OLEexDisableBoth
	Send ComEndUpdate
End_Procedure
703
Is posible to reduce the size of the picture to be shown in the column's caption

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Set ComHTMLPicture "pic1" to "c:\exontrol\images\zipdisk.gif"
	Set ComHeaderHeight to 48
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "DefaultSize" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComHTMLCaption of hoColumn to "Default-Size <img>pic1</img> Picture"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn1
		Get ComAdd of hoColumns1 "CustomSize" to voColumn1
		Handle hoColumn1
		Get Create (RefClass(cComColumn)) to hoColumn1
		Set pvComObject of hoColumn1 to voColumn1
			Set ComHTMLCaption of hoColumn1 to "Custom-Size <img>pic1:16</img> Picture"
		Send Destroy to hoColumn1
	Send Destroy to hoColumns1
	Send ComEndUpdate
End_Procedure
702
How can I change the color, font, bold etc for the items/cells in the same column or for the entire column

Procedure OnCreate
	Forward Send OnCreate
	Send ComBeginUpdate
	Variant voConditionalFormats
	Get ComConditionalFormats to voConditionalFormats
	Handle hoConditionalFormats
	Get Create (RefClass(cComConditionalFormats)) to hoConditionalFormats
	Set pvComObject of hoConditionalFormats to voConditionalFormats
		Variant voConditionalFormat
		Get ComAdd of hoConditionalFormats "1" Nothing to voConditionalFormat
		Handle hoConditionalFormat
		Get Create (RefClass(cComConditionalFormat)) to hoConditionalFormat
		Set pvComObject of hoConditionalFormat to voConditionalFormat
			Set ComBold of hoConditionalFormat to True
			Set ComForeColor of hoConditionalFormat to (RGB(255,0,0))
			Set ComApplyTo of hoConditionalFormat to |CI$1
		Send Destroy to hoConditionalFormat
	Send Destroy to hoConditionalFormats
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Get ComAdd of hoColumns "C1" to Nothing
	Send Destroy to hoColumns
	Variant voColumns1
	Get ComColumns to voColumns1
	Handle hoColumns1
	Get Create (RefClass(cComColumns)) to hoColumns1
	Set pvComObject of hoColumns1 to voColumns1
		Variant voColumn
		Get ComAdd of hoColumns1 "C2" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Set ComHeaderBold of hoColumn to True
			Set ComHTMLCaption of hoColumn to "<fgcolor=FF0000>C2"
		Send Destroy to hoColumn
	Send Destroy to hoColumns1
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Set ComCellValue of hoItems (ComAddItem(hoItems,10)) 1 to 11
		Set ComCellValue of hoItems (ComAddItem(hoItems,12)) 1 to 13
	Send Destroy to hoItems
	Send ComEndUpdate
End_Procedure
701
How can I filter the check-boxes (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Variant voColumns
	Get ComColumns to voColumns
	Handle hoColumns
	Get Create (RefClass(cComColumns)) to hoColumns
	Set pvComObject of hoColumns to voColumns
		Variant voColumn
		Get ComAdd of hoColumns "Check" to voColumn
		Handle hoColumn
		Get Create (RefClass(cComColumn)) to hoColumn
		Set pvComObject of hoColumn to voColumn
			Variant voEditor
			Get ComEditor of hoColumn to voEditor
			Handle hoEditor
			Get Create (RefClass(cComEditor)) to hoEditor
			Set pvComObject of hoEditor to voEditor
				Set ComEditType of hoEditor to OLECheckValueType
				Set ComOption of hoEditor OLEexCheckValue2 to 1
			Send Destroy to hoEditor
			Set ComDisplayFilterButton of hoColumn to True
			Set ComDisplayFilterPattern of hoColumn to False
			Set ComCustomFilter of hoColumn to "checked||-1|||unchecked||0"
		Send Destroy to hoColumn
	Send Destroy to hoColumns
	Variant voItems
	Get ComItems to voItems
	Handle hoItems
	Get Create (RefClass(cComItems)) to hoItems
	Set pvComObject of hoItems to voItems
		Get ComAddItem of hoItems True to Nothing
		Get ComAddItem of hoItems True to Nothing
		Get ComAddItem of hoItems False to Nothing
		Get ComAddItem of hoItems True to Nothing
		Get ComAddItem of hoItems False to Nothing
		Get ComAddItem of hoItems True to Nothing
		Get ComAddItem of hoItems False to Nothing
	Send Destroy to hoItems
End_Procedure